package org.elephas.webapp.component;

import java.io.Serializable;

import org.apache.wicket.Component;
import org.apache.wicket.ResourceReference;
import org.elephas.model.Blog;
import org.elephas.webapp.frontend.page.blog.BlogBasePage;
import org.elephas.webapp.frontend.page.blog.BlogPostPage;
import org.elephas.webapp.model.DetachableBlogModel;

/**
 * Created Apr 6, 2008
 *
 * @author <a href="mailto:jlee@antwerkz.com">Justin Lee</a>
 */
public interface Theme extends Serializable {
    String getName();

    Component newHeader(String id, DetachableBlogModel blogModel,
			BlogBasePage page);

    Component newFooter(String id, DetachableBlogModel blogModel,
			BlogBasePage page);

    Component newFrontPageContent(String id, DetachableBlogModel blogModel,
			BlogBasePage page);

    ResourceReference getCSS(BlogBasePage page);

    ResourceReference getJavascript(BlogBasePage page);

    Component newPostPageContent(String id, Blog blog, BlogPostPage page);
}
